import pandas as pd

# 完整的原始数据（edata）
edata = pd.read_excel("../static/files/1647848272130494.xlsx", names=['userID', 'payDate', 'money'])
# edata = pd.read_csv('../static/files/3.csv', header=0, names=['userID', 'payDate', 'money'])

# times：用户个人缴费次数
times = edata['userID'].value_counts()

# # money_sum：用户个人总缴费金额
money_sum = edata.groupby(['userID'])['money'].sum()

# money_aver：用户个人缴费平均金额
money_aver = edata.groupby(['userID'])['money'].mean()

# std_money：全体用户缴费平均金额
std_money = money_sum.mean()

# std_times：全体用户缴费平均次数
std_times = times.mean()

# 合并多个DateFrame
dfs = [money_sum, times, money_aver]
elec_0 = pd.concat(dfs, axis=1, join='outer')
elec_0.columns = ['money_sum', 'times', 'money_aver']
elec_0.insert(3, "std_money", std_money)
elec_0.insert(4, "std_times", std_times)
elec_0.loc[:, 'usertype'] = 0

# 定义客户类型
elec_0["usertype"].loc[(elec_0["money_sum"] > std_money) & (elec_0['times'] > std_times)] = "高价值型客户"
elec_0["usertype"].loc[(elec_0["money_sum"] < std_money) & (elec_0['times'] > std_times)] = "大众型客户"
elec_0["usertype"].loc[(elec_0["money_sum"] > std_money) & (elec_0['times'] < std_times)] = "潜力型客户"
elec_0["usertype"].loc[(elec_0["money_sum"] < std_money) & (elec_0['times'] < std_times)] = "低价值型客户"

print("完整的原始数据:\n{}".format(edata))
print("用户个人缴费次数:\n{}".format(times))
print("用户个人总缴费金额:\n{}".format(money_sum))
print("用户个人缴费平均金额:\n{}".format(money_aver))
print("全体用户缴费平均金额:\n{}".format(std_money))
print("全体用户缴费平均次数:\n{}".format(std_times))
print("处理后的表:\n{}".format(elec_0))

# 导出csv文件
elec_0.to_csv("居民客户的用电缴费习惯分析 1.csv", index_label="userid",  encoding="GBK")